﻿using System;
using System.Collections.Generic;
using System.Text;
using AbcCorp.DTO;
using AbcCorp.DAO;
namespace AbcCorp.BLO
{
    public class OrderBlo
    {

        /// <summary>
        /// Lấy thông tin đơn hàng dựa vào mã đơn hàng
        /// </summary>
        /// <param name="orderid">Mã đơn hàng</param>
        public OrderDto GetOrder(int orderid)
        {
            if (orderid <= 0)
            {
                return null;
            }
            var orderDao = new OrderDao();
            return orderDao.GetOrder(orderid);
        }

        /// <summary>
        /// Lấy toàn bộ danh sách đơn hàng
        /// </summary>
        public IList<OrderDto> GetOrders()
        {
            var orderDao = new OrderDao();
            return orderDao.GetOrders();
        }


        /// <summary>
        /// Thêm đơn hàng (đặt hàng)
        /// </summary>
        /// <param name="newOrder">Đối tượng đơn hàng mới</param>
        public bool AddOrder(OrderDto newOrder)
        {
            var orderDao = new OrderDao();
            return orderDao.AddOrder(newOrder);
        }

        /// <summary>
        /// Cập nhập thông tin đơn hàng dựa vào mã đơn hàng
        /// </summary>
        /// <param name="status">Thông tin mới cần cập nhập</param>
        /// <param name="id">Mã đơn hàng muốn cập nhập</param>
        public bool UpdateOrder(int id, bool status)
        {
            if (id <= 0)
            {
                return false;
            }
            var orderDao = new OrderDao();
            return orderDao.UpdateOrder(id, status);
        }

        /// <summary>
        /// Lay danh sach cac order ma khach hang da dat
        /// </summary>
        /// <param name="customerid">Ma khach hang</param>
        /// <returns></returns>
        public IList<OrderDto> GetOrderDetailsOfCustomer(int customerid)
        {
            if (customerid == 0) return null;
            var orderDao = new OrderDao();
            return orderDao.GetOrderDetailsOfCustomer(customerid);
        }
    }
}
